#!/bin/bash

PKGS="${PKGS} "

# PKGS="${PKGS} build"
PKGS="${PKGS} chardet"
PKGS="${PKGS} coverage"
# PKGS="${PKGS} cpip"
PKGS="${PKGS} cryptography"
PKGS="${PKGS} Cython"
PKGS="${PKGS} debugpy"
PKGS="${PKGS} drgn"
PKGS="${PKGS} docutils"
PKGS="${PKGS} drgn"
PKGS="${PKGS} html-table"
PKGS="${PKGS} httpx"
PKGS="${PKGS} ipykernel"
PKGS="${PKGS} ipython"
PKGS="${PKGS} ipywidgets"
# PKGS="${PKGS} jieba"
# PKGS="${PKGS} json5"
# PKGS="${PKGS} jsonpointer"
# PKGS="${PKGS} jsonschema"
# PKGS="${PKGS} jsonschema-specifications"
PKGS="${PKGS} jupyter"
# PKGS="${PKGS} jupyter_client"
# PKGS="${PKGS} jupyter-console"
# PKGS="${PKGS} jupyter_core"
# PKGS="${PKGS} jupyter-events"
PKGS="${PKGS} jupyter-lsp"
PKGS="${PKGS} jupyter_server"
# PKGS="${PKGS} jupyter_server_terminals"
# PKGS="${PKGS} jupyterlab"
# PKGS="${PKGS} jupyterlab_pygments"
# PKGS="${PKGS} jupyterlab_server"
# PKGS="${PKGS} jupyterlab-widgets"
# PKGS="${PKGS} lsprotocol"
# PKGS="${PKGS} markdown-it-py"
# PKGS="${PKGS} matplotlib-inline"
# PKGS="${PKGS} nbclient"
# PKGS="${PKGS} nbconvert"
# PKGS="${PKGS} nbformat"
# PKGS="${PKGS} nest-asyncio"
# PKGS="${PKGS} networkx"
# PKGS="${PKGS} notebook"
# PKGS="${PKGS} notebook_shim"
PKGS="${PKGS} numpy"
# PKGS="${PKGS} outcome"
# PKGS="${PKGS} overrides"
# PKGS="${PKGS} packaging"
# PKGS="${PKGS} pandocfilters"
# PKGS="${PKGS} parso"
# PKGS="${PKGS} pexpect"
# PKGS="${PKGS} pickleshare"
PKGS="${PKGS} pillow"
PKGS="${PKGS} pip"
# PKGS="${PKGS} platformdirs"
# PKGS="${PKGS} pluggy"
PKGS="${PKGS} ply"
PKGS="${PKGS} prettytable"
# PKGS="${PKGS} prometheus_client"
# PKGS="${PKGS} prompt-toolkit"
PKGS="${PKGS} psutil"
# PKGS="${PKGS} ptyprocess"
# PKGS="${PKGS} pure-eval"
# PKGS="${PKGS} PyAutoGUI"
PKGS="${PKGS} pycparser"
PKGS="${PKGS} pyelftools"
# PKGS="${PKGS} PyGetWindow"
# PKGS="${PKGS} pygls"
# PKGS="${PKGS} Pygments"
PKGS="${PKGS} pygraphviz"
PKGS="${PKGS} pyinstaller"
# PKGS="${PKGS} pyinstaller-hooks-contrib"
PKGS="${PKGS} pylint"
# PKGS="${PKGS} PyMsgBox"
# PKGS="${PKGS} pynput"
# PKGS="${PKGS} pyperclip"
# PKGS="${PKGS} pyproject_hooks"
# PKGS="${PKGS} PyRect"
# PKGS="${PKGS} PyScaffold"
# PKGS="${PKGS} pyscreenshot"
# PKGS="${PKGS} PyScreeze"
# PKGS="${PKGS} PySocks"
PKGS="${PKGS} pyspellchecker"
PKGS="${PKGS} pytest"
PKGS="${PKGS} pytest-cov"
PKGS="${PKGS} python-dateutil"
PKGS="${PKGS} python-json-logger"
PKGS="${PKGS} python-xlib"
PKGS="${PKGS} python3-xlib"
# PKGS="${PKGS} pytweening"
PKGS="${PKGS} PyYAML"
# PKGS="${PKGS} pyzmq"
# PKGS="${PKGS} qtconsole"
# PKGS="${PKGS} QtPy"
# PKGS="${PKGS} referencing"
# PKGS="${PKGS} requests"
# PKGS="${PKGS} rfc3339-validator"
# PKGS="${PKGS} rfc3986-validator"
# PKGS="${PKGS} rich"
# PKGS="${PKGS} rpds-py"
# PKGS="${PKGS} scikit-learn"
PKGS="${PKGS} scipy"
PKGS="${PKGS} selenium"
# PKGS="${PKGS} Send2Trash"
PKGS="${PKGS} setuptools"
PKGS="${PKGS} setuptools-scm"
# PKGS="${PKGS} six"
# PKGS="${PKGS} sniffio"
# PKGS="${PKGS} snowballstemmer"
# PKGS="${PKGS} sortedcontainers"
# PKGS="${PKGS} soupsieve"
PKGS="${PKGS} Sphinx"
# PKGS="${PKGS} sphinxcontrib-applehelp"
# PKGS="${PKGS} sphinxcontrib-devhelp"
# PKGS="${PKGS} sphinxcontrib-htmlhelp"
# PKGS="${PKGS} sphinxcontrib-jsmath"
# PKGS="${PKGS} sphinxcontrib-qthelp"
# PKGS="${PKGS} sphinxcontrib-serializinghtml"
# PKGS="${PKGS} stack-data"
# PKGS="${PKGS} staticx"
# PKGS="${PKGS} terminado"
# PKGS="${PKGS} threadpoolctl"
# PKGS="${PKGS} tinycss2"
# PKGS="${PKGS} tomlkit"
# PKGS="${PKGS} tornado"
# PKGS="${PKGS} traitlets"
# PKGS="${PKGS} trio"
# PKGS="${PKGS} trio-websocket"
# PKGS="${PKGS} types-python-dateutil"
# PKGS="${PKGS} typing_extensions"
# PKGS="${PKGS} tzlocal"
# PKGS="${PKGS} uri-template"
PKGS="${PKGS} urllib3"
PKGS="${PKGS} watchdog"
# PKGS="${PKGS} watermark"
# PKGS="${PKGS} wcwidth"
# PKGS="${PKGS} webcolors"
# PKGS="${PKGS} webencodings"
# PKGS="${PKGS} websocket-client"
PKGS="${PKGS} wheel"
# PKGS="${PKGS} widgetsnbextension"
# PKGS="${PKGS} wsproto"
# PKGS="${PKGS} zipp"

SUCCESSED=""
FAILED=""

for pkg in ${PKGS}; do
    echo "Installing ${pkg}"
    python3 -m pip install -U ${pkg} \
        && SUCCESSED="${SUCCESSED} ${pkg}" \
        || FAILED="${FAILED} ${pkg}"
done

echo "SUCCESSED: " ${SUCCESSED}
echo "FAILED: " ${FAILED}

